package com.neu.af.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexUtil {
    /**
     * 匹配出字符串中数字
     * @param start 开头
     * @param s 输入的字符串
     * @return 字符串中转化后的数字
     */
    public static String getNum(String start, String s) {
        String res = null;
        String reg = start+"\\d+\\.?\\d*%?"; // 正则
        Pattern p = Pattern.compile(reg);
        Matcher m =p.matcher(s);
        if (m.find()) {
            res = m.group(0); // >63%
            String num = res.replaceAll(start,""); // 63%
            if(num.endsWith("%")){
                num = num.replaceAll("%","");
                return String.valueOf(Float.parseFloat(num)*0.01); // 0.63
            }
            return num; // 如果没有%，直接返回
        }
        return res;
    }

    public static void main(String[] args) {
        System.out.println(RegexUtil.getNum("小于","北京热电#1机组并网且负荷小于3%"));
    }
}
